/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.clinicariobamba.Controladores;

import com.clinicariobamba.ReglasNegocio.Clases.Etnia;
import com.clinicariobamba.ReglasNegocio.Funciones.FuncionesEtnia;
import java.io.Serializable;
import java.util.ArrayList;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import org.primefaces.context.DefaultRequestContext;

/**
 *
 * @author Gis
 */
@ManagedBean
@ViewScoped
public class ControladorEtnia implements Serializable {

    private Etnia etnia;
    private ArrayList<Etnia> lstEtnia;
    private Etnia etniaSel;

    public ControladorEtnia() {
        this.etnia = new Etnia();
        CargarEtnias();
    }

    public Etnia getEtnia() {
        return etnia;
    }

    public void setEtnia(Etnia etnia) {
        this.etnia = etnia;
    }

    public ArrayList<Etnia> getLstEtnia() {
        return lstEtnia;
    }

    public void setLstEtnia(ArrayList<Etnia> lstEtnia) {
        this.lstEtnia = lstEtnia;
    }

    public Etnia getEtniaSel() {
        return etniaSel;
    }

    public void setEtniaSel(Etnia etniaSel) {
        this.etniaSel = etniaSel;
    }

    private void CargarEtnias() {
        this.lstEtnia = FuncionesEtnia.obtenerEtnias();
    }

    public Etnia ObtenerEtniaId(int id) {
        return FuncionesEtnia.obtenerEtnia(id);

    }

    public void insertarEtnia() {
        try {
            if (FuncionesEtnia.insertar(etnia)) {
                FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO,
                        "Información", "Datos Insertados");
                FacesContext.getCurrentInstance().addMessage(null, message);
                CargarEtnias();
                DefaultRequestContext.getCurrentInstance().execute("wdlgNuevoEtnia.hide()");
                etnia = new Etnia();
            } else {
                FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                        "Alerta!!", "Error al Insertar");
                FacesContext.getCurrentInstance().addMessage(null, message);
            }
        } catch (Exception e) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                    "Alerta!!", e.getMessage());
            FacesContext.getCurrentInstance().addMessage(null, message);
        }
    }

    public void actualizarEtnia() {
        try {
            if (FuncionesEtnia.modificar(etniaSel)) {
                FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO,
                        "Información", "Datos Actualizados");
                FacesContext.getCurrentInstance().addMessage(null, message);
                CargarEtnias();
                DefaultRequestContext.getCurrentInstance().execute("wdlgEditarEtnia.hide()");
                etniaSel = new Etnia();
            } else {
                FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                        "Alerta!!", "Error al Actualizar");
                FacesContext.getCurrentInstance().addMessage(null, message);
            }
        } catch (Exception e) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                    "Alerta!!", e.getMessage());
            FacesContext.getCurrentInstance().addMessage(null, message);
        }
    }

    public void eliminarEtnia() {
        try {
            if (FuncionesEtnia.eliminar(etniaSel)) {
                FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO,
                        "Información", "Datos Eliminados");
                FacesContext.getCurrentInstance().addMessage(null, message);
                CargarEtnias();
                DefaultRequestContext.getCurrentInstance().execute("wdlgEliminarEtnia.hide()");
                etniaSel = new Etnia();
            } else {
                FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                        "Alerta!!", "Error al Eliminar");
                FacesContext.getCurrentInstance().addMessage(null, message);
            }
        } catch (Exception e) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                    "Alerta!!", e.getMessage());
            FacesContext.getCurrentInstance().addMessage(null, message);
        }
    }

}
